﻿using FlashPay.EF.Models;
using FlashPay.Entity;
using FlashPay.Entity.Parameter;
using FlashPay.Entity.Request.DepositMatchRecord;
using System;
using System.Collections.Generic;
using System.Text;

namespace FlashPay.DAO.Interface
{
    public interface DepositMatchRecordDAO
    {
        /// <summary>
        /// 根据编号获取收款匹配记录
        /// </summary>
        /// <param name="id">编号</param>
        /// <returns>Company</returns>
        DepositMatchRecord GetDepositMatchRecord(long id);

        /// <summary>
        /// 获取收款匹配记录列表
        /// </summary>
        DataGrid<DepositMatchRecordResponse> GetDepositMatchRecordList(DepositMatchRecordQuery query);

        /// <summary>
        /// 根据ID查询详细信息
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        DepositMatchRecord GetMatchRecordDetail(DepositMatchRecordQuery query);

        /// <summary>
        /// 收款匹配记录[绑定收款记录]
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        int ReceiptMatchRecordBindReceiptRecord(ReceiptMatchRecordBindReceiptRecordRequest request);

        /// <summary>
        /// 新增收款匹配记录
        /// </summary>
        /// <param name="request"></param>
        JResult Add(AddRequest request);
    }
}
